package com.ztesoft.web.common.service;

import java.util.List;
import java.util.Map;

import com.ztesoft.core.common.Page;
import com.ztesoft.framework.exception.BaseAppException;
import com.ztesoft.web.common.db.po.ProcedureDataPO;
import com.ztesoft.web.common.db.po.SysModuleNodePO;
import com.ztesoft.web.common.db.po.SysModulePO;

/**
 * <Description> <br>
 * 
 * @author lin.jie<br>
 * @version 1.0<br>
 * @taskId <br>
 * @CreateDate 2015年8月24日 <br>
 * @since V1.0<br>
 * @see com.ztesoft.web.common.service <br>
 */

public interface ISysModuleService {
	List<SysModulePO> searchSysmodule() throws BaseAppException;
	SysModuleNodePO[] queryAllForTree() throws BaseAppException;
	SysModulePO selectByPrimaryKey(Integer key) throws BaseAppException;

    List<SysModulePO> selectByArg(SysModulePO record) throws BaseAppException;

    Page<SysModulePO> selectByArgAndPage(SysModulePO record, Page<SysModulePO> resultPage)
            throws BaseAppException;
	//系统模块维护查询
    Page<SysModulePO> selectByArgAndPageSys(SysModulePO record, Page<SysModulePO> resultPage)
    		throws BaseAppException;
	//系统模块维护 添加
    int add(SysModulePO record) throws BaseAppException;
  //系统模块维护 修改
    int update(SysModulePO record) throws BaseAppException;
  //系统模块维护 删除
    int delete(SysModulePO record) throws BaseAppException;
    
    ProcedureDataPO[] queryAllProForDbLinkId(Integer dbLinkId, String dbUserName) throws BaseAppException;
    
    Map<String, String> qryInfoByDbLinkId(Integer dbLinkId) throws BaseAppException;
    
	boolean isExistProcedure(Integer dbBaseId, String dbUserName,
			String produreName) throws BaseAppException;
	
	boolean isExistPartitions(Integer dbBaseId, String dbUserName,
			String tableName) throws BaseAppException;

}
